[INFO] cloning repository https://github.com/jellytech3438/bmp-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jellytech3438/bmp-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjellytech3438%2Fbmp-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjellytech3438%2Fbmp-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7788766601f6236c8f586295b8f0e2a7e1cfa1e3
[INFO] checking jellytech3438/bmp-rust against master#82310651b93a594a3fd69015e1562186a080d94c for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjellytech3438%2Fbmp-rust" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jellytech3438/bmp-rust
[INFO] finished tweaking git repo https://github.com/jellytech3438/bmp-rust
[INFO] tweaked toml for git repo https://github.com/jellytech3438/bmp-rust written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jellytech3438/bmp-rust on toolchain 82310651b93a594a3fd69015e1562186a080d94c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jellytech3438/bmp-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gif v0.13.1
[INFO] [stderr]   Downloaded bytemuck v1.18.0
[INFO] [stderr]   Downloaded exr v1.72.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 034c4c81ef42c701670bdbe0b7cbccdfc597c85ac6cec50569eccb69ffee4f1e
[INFO] running `Command { std: "docker" "start" "-a" "034c4c81ef42c701670bdbe0b7cbccdfc597c85ac6cec50569eccb69ffee4f1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "034c4c81ef42c701670bdbe0b7cbccdfc597c85ac6cec50569eccb69ffee4f1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "034c4c81ef42c701670bdbe0b7cbccdfc597c85ac6cec50569eccb69ffee4f1e", kill_on_drop: false }`
[INFO] [stdout] 034c4c81ef42c701670bdbe0b7cbccdfc597c85ac6cec50569eccb69ffee4f1e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 715c35a4c6f355529aa9619cfe7a5836c5e199595776f6025c2110a8cf9a50ff
[INFO] running `Command { std: "docker" "start" "-a" "715c35a4c6f355529aa9619cfe7a5836c5e199595776f6025c2110a8cf9a50ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking bytemuck v1.18.0
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking miniz_oxide v0.8.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking flate2 v1.0.33
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking bmp-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `byteorder::ByteOrder`
[INFO] [stdout]  --> src/bmplib/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use byteorder::ByteOrder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byteorder::LittleEndian`
[INFO] [stdout]  --> src/bmplib/decoder.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use byteorder::LittleEndian;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BMP_HEADER_SIZE` and `DIB_HEADER_SIZE`
[INFO] [stdout]  --> src/bmplib/encoder.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::bmplib::header::{bmpheader, dibheader, BMP_HEADER_SIZE, DIB_HEADER_SIZE};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EncodableLayout`
[INFO] [stdout]  --> src/bmplib/encoder.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{EncodableLayout, Pixel};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `env::current_dir` and `fmt::Error`
[INFO] [stdout]  --> src/bmplib/encoder.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{env::current_dir, fmt::Error, io::Write};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/bmplib/encoder.rs:59:26
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 for r in (row_start / 3..row_end / 3) {
[INFO] [stdout]    |                          ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                 for r in (row_start / 3..row_end / 3) {
[INFO] [stdout] 59 +                 for r in row_start / 3..row_end / 3 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byteorder::BigEndian`
[INFO] [stdout]  --> src/bmplib/header.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use byteorder::BigEndian;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_RGB` should have an upper camel case name
[INFO] [stdout]  --> src/bmplib/header.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     BI_RGB,
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to upper camel case: `BiRgb`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_RLE8` should have an upper camel case name
[INFO] [stdout]  --> src/bmplib/header.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BI_RLE8,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `BiRle8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_RLE4` should have an upper camel case name
[INFO] [stdout]  --> src/bmplib/header.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     BI_RLE4,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `BiRle4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_BITFIELDS` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BI_BITFIELDS,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BiBitfields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_JPEG` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     BI_JPEG,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `BiJpeg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_PNG` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     BI_PNG,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `BiPng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_ALPHABITFIELDS` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BI_ALPHABITFIELDS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BiAlphabitfields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `bmpheader` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct bmpheader {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `Bmpheader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `dibheader` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct dibheader {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `Dibheader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::Wrapping`
[INFO] [stdout]  --> src/bmplib/pixel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::Wrapping;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Write`
[INFO] [stdout]  --> src/main.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{BufReader, BufWriter, Write};
[INFO] [stdout]   |               ^^^^^^^^^             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Deref`
[INFO] [stdout]  --> src/main.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fs::File, ops::Deref};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pixels as IMGPixels`, `RgbaImage`, and `Rgba`
[INFO] [stdout]  --> src/main.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use image::{Pixel, Pixels as IMGPixels, Rgb, RgbImage, Rgba, RgbaImage};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^                 ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pixel`
[INFO] [stdout]  --> src/bmplib/encoder.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{EncodableLayout, Pixel};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bmpheader`
[INFO] [stdout]   --> src/bmplib/decoder.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut bmpheader = bmpheader::from_bytes(&mut bmphbuffer);
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bmpheader`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]   --> src/bmplib/decoder.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         for h in 0..height {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> src/bmplib/decoder.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |             for w in 0..width {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/decoder.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut bmpheader = bmpheader::from_bytes(&mut bmphbuffer);
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/decoder.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut dibheader = dibheader::from_bytes(&mut dibhbuffer);
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/decoder.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let mut temppx = Pixels::from(tempbuf);
[INFO] [stdout]    |                         ----^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/encoder.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut bmpheader = bmpheader::new(px_data_size);
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/encoder.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut dibheader = dibheader::new(self.width, self.height, self.bpp, px_data_size);
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byteorder::ByteOrder`
[INFO] [stdout]  --> src/bmplib/decoder.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use byteorder::ByteOrder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byteorder::LittleEndian`
[INFO] [stdout]  --> src/bmplib/decoder.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use byteorder::LittleEndian;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BMP_HEADER_SIZE` and `DIB_HEADER_SIZE`
[INFO] [stdout]  --> src/bmplib/encoder.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::bmplib::header::{bmpheader, dibheader, BMP_HEADER_SIZE, DIB_HEADER_SIZE};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EncodableLayout`
[INFO] [stdout]  --> src/bmplib/encoder.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{EncodableLayout, Pixel};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `env::current_dir` and `fmt::Error`
[INFO] [stdout]  --> src/bmplib/encoder.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{env::current_dir, fmt::Error, io::Write};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/bmplib/encoder.rs:59:26
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 for r in (row_start / 3..row_end / 3) {
[INFO] [stdout]    |                          ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                 for r in (row_start / 3..row_end / 3) {
[INFO] [stdout] 59 +                 for r in row_start / 3..row_end / 3 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byteorder::BigEndian`
[INFO] [stdout]  --> src/bmplib/header.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub use byteorder::BigEndian;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_RGB` should have an upper camel case name
[INFO] [stdout]  --> src/bmplib/header.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     BI_RGB,
[INFO] [stdout]   |     ^^^^^^ help: convert the identifier to upper camel case: `BiRgb`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_RLE8` should have an upper camel case name
[INFO] [stdout]  --> src/bmplib/header.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BI_RLE8,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `BiRle8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_RLE4` should have an upper camel case name
[INFO] [stdout]  --> src/bmplib/header.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     BI_RLE4,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `BiRle4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_BITFIELDS` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     BI_BITFIELDS,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BiBitfields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_JPEG` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     BI_JPEG,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `BiJpeg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_PNG` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     BI_PNG,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `BiPng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BI_ALPHABITFIELDS` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BI_ALPHABITFIELDS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BiAlphabitfields`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `bmpheader` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct bmpheader {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `Bmpheader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `dibheader` should have an upper camel case name
[INFO] [stdout]   --> src/bmplib/header.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct dibheader {
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `Dibheader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::Wrapping`
[INFO] [stdout]  --> src/bmplib/pixel.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::Wrapping;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader` and `Write`
[INFO] [stdout]  --> src/main.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{BufReader, BufWriter, Write};
[INFO] [stdout]   |               ^^^^^^^^^             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Deref`
[INFO] [stdout]  --> src/main.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fs::File, ops::Deref};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pixels as IMGPixels`, `RgbaImage`, and `Rgba`
[INFO] [stdout]  --> src/main.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use image::{Pixel, Pixels as IMGPixels, Rgb, RgbImage, Rgba, RgbaImage};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^                 ^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut encoder = Encoder::new(img_vec.as_slice(), img_w, img_h, 24);
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut op_file = File::create("img_op.bmp").unwrap();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut op_file = File::open("img_op.bmp").unwrap();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BI_RLE8`, `BI_RLE4`, `BI_BITFIELDS`, `BI_JPEG`, `BI_PNG`, and `BI_ALPHABITFIELDS` are never constructed
[INFO] [stdout]   --> src/bmplib/header.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum Compression {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 7  |     BI_RGB,
[INFO] [stdout] 8  |     BI_RLE8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 9  |     BI_RLE4,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     BI_BITFIELDS,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     BI_JPEG,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     BI_PNG,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 13 |     BI_ALPHABITFIELDS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Compression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_u32` is never used
[INFO] [stdout]   --> src/bmplib/header.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Compression {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 17 |     fn from_u32(val: u32) -> Compression {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `n_color_palatte` and `important` are never read
[INFO] [stdout]    --> src/bmplib/header.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 88  | pub struct dibheader {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub n_color_palatte: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     pub important: u32,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `dibheader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `to_bgr`, `to_bgra`, and `to_rgba` are never used
[INFO] [stdout]   --> src/bmplib/pixel.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Pixels {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(r: u8, g: u8, b: u8, _a: u8) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn to_bgr(&self) -> [u8; 3] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn to_bgra(&self) -> [u8; 4] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn to_rgba(&self) -> [u8; 4] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     encoder.encode_to_buffer(&mut buffer);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let _ = encoder.encode_to_buffer(&mut buffer);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pixel`
[INFO] [stdout]  --> src/bmplib/encoder.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use image::{EncodableLayout, Pixel};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bmpheader`
[INFO] [stdout]   --> src/bmplib/decoder.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut bmpheader = bmpheader::from_bytes(&mut bmphbuffer);
[INFO] [stdout]    |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bmpheader`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]   --> src/bmplib/decoder.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         for h in 0..height {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> src/bmplib/decoder.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |             for w in 0..width {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/decoder.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut bmpheader = bmpheader::from_bytes(&mut bmphbuffer);
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/decoder.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut dibheader = dibheader::from_bytes(&mut dibhbuffer);
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/decoder.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let mut temppx = Pixels::from(tempbuf);
[INFO] [stdout]    |                         ----^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/encoder.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let mut bmpheader = bmpheader::new(px_data_size);
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bmplib/encoder.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut dibheader = dibheader::new(self.width, self.height, self.bpp, px_data_size);
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut encoder = Encoder::new(img_vec.as_slice(), img_w, img_h, 24);
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let mut op_file = File::create("img_op.bmp").unwrap();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let mut op_file = File::open("img_op.bmp").unwrap();
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BI_RLE8`, `BI_RLE4`, `BI_BITFIELDS`, `BI_JPEG`, `BI_PNG`, and `BI_ALPHABITFIELDS` are never constructed
[INFO] [stdout]   --> src/bmplib/header.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum Compression {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 7  |     BI_RGB,
[INFO] [stdout] 8  |     BI_RLE8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 9  |     BI_RLE4,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 10 |     BI_BITFIELDS,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     BI_JPEG,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     BI_PNG,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 13 |     BI_ALPHABITFIELDS,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Compression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_u32` is never used
[INFO] [stdout]   --> src/bmplib/header.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Compression {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 17 |     fn from_u32(val: u32) -> Compression {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `n_color_palatte` and `important` are never read
[INFO] [stdout]    --> src/bmplib/header.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 88  | pub struct dibheader {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub n_color_palatte: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     pub important: u32,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `dibheader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `to_bgr`, `to_bgra`, and `to_rgba` are never used
[INFO] [stdout]   --> src/bmplib/pixel.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Pixels {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(r: u8, g: u8, b: u8, _a: u8) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn to_bgr(&self) -> [u8; 3] {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn to_bgra(&self) -> [u8; 4] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn to_rgba(&self) -> [u8; 4] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     encoder.encode_to_buffer(&mut buffer);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let _ = encoder.encode_to_buffer(&mut buffer);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.51s
[INFO] running `Command { std: "docker" "inspect" "715c35a4c6f355529aa9619cfe7a5836c5e199595776f6025c2110a8cf9a50ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "715c35a4c6f355529aa9619cfe7a5836c5e199595776f6025c2110a8cf9a50ff", kill_on_drop: false }`
[INFO] [stdout] 715c35a4c6f355529aa9619cfe7a5836c5e199595776f6025c2110a8cf9a50ff
